﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BolaoDNA.DomainModel
{
    public class InscricaoBolao
    {
        public InscricaoBolao()
        {
            this.Bolao = new Bolao();
            this.UsuarioCadastrado = new UsuarioCadastrado();
            this.Palpites = new List<Palpite>();
        }

        virtual public Int32 ID { get; set; }

        virtual public Bolao Bolao {get ; set;}

        virtual public UsuarioCadastrado UsuarioCadastrado {get ; set;}

        virtual public IList<Palpite> Palpites { get; private set; }

        virtual public Int32 PontuacaoTotal { get; set; }

        public void SomarPontuacoesJogos()
        {
            int pontuacaoTotal = 0;
            foreach (Palpite palpite in this.Palpites)
           {
                if (palpite.Jogo.Status == StatusJogo.Finalizado || palpite.Jogo.Status == StatusJogo.Cancelado)
               {
                  palpite.CalcularPontuacao();
                  pontuacaoTotal += palpite.PontuacaoJogo;
                }
                this.PontuacaoTotal = pontuacaoTotal;
            }
        }

        public override string ToString()
        {
            return this.Bolao + " - " + this.UsuarioCadastrado;
        }
    }
}
